package market

type GetCrowdListResponse struct {
	Total int64               `json:"total"`
	List  []*GetCrowdListData `json:"list"`
}

type GetCrowdListData struct {
	Id                    int32    `json:"id"`
	CrowdName             string   `json:"crowd_name"`
	Type                  string   `json:"type"`
	Status                int32    `json:"status"`
	Version               int32    `json:"version"`
	AreaCode              []string `json:"area_code"`
	AreaName              []string `json:"area_name"`
	WinbidKeyword         []string `json:"winbid_keyword"`
	CompanyKeyword        []string `json:"company_keyword"`
	WinbidDateStart       string   `json:"winbid_date_start"`
	WinbidDateEnd         string   `json:"winbid_date_end"`
	PhoneType             []string `json:"phone_type"`
	EveryCompanyNum       int32    `json:"every_company_num"`
	BidKeyword            []string `json:"bid_keyword"`
	BidKeywordExclude     []string `json:"bid_keyword_exclude"`
	BidDateStart          string   `json:"bid_date_start"`
	BidDateEnd            string   `json:"bid_date_end"`
	IsLandOpen            int32    `json:"is_land_open"`
	LandUsage             []string `json:"land_usage"`
	LandDateStart         string   `json:"land_date_start"`
	LandDateEnd           string   `json:"land_date_end"`
	IsBuildingOpen        int32    `json:"is_building_open"`
	BuildingType          []string `json:"building_type"`
	BuildingDateStart     string   `json:"building_date_start"`
	BuildingDateEnd       string   `json:"building_date_end"`
	IsSaleOpen            int32    `json:"is_sale_open"`
	SaleType              []string `json:"sale_type"`
	SaleDateStart         string   `json:"sale_date_start"`
	SaleDateEnd           string   `json:"sale_date_end"`
	CreatedOn             string   `json:"created_on"`
	CreatedBy             string   `json:"created_by"`
	CompanyTotal          int32    `json:"company_total"`
	ContactTotal          int32    `json:"contact_total"`
	LogicType             string   `json:"logic_type"`
	IsBidOpen             int32    `json:"is_bid_open"`
	LandKeyword           []string `json:"land_keyword"`
	BuildingKeyword       []string `json:"building_keyword"`
	SaleKeyword           []string `json:"sale_keyword"`
	CompanyType           []string `json:"company_type"`
	CompanyKeywordExclude []string `json:"company_keyword_exclude"`
}

type AddCrowdResponse struct {
	Id       int32 `json:"id"`
	NewCrowd bool  `json:"new_crowd"`
}

type DeleteCrowdResponse struct {
	Id int32 `json:"id"`
}

type AccountPhoneItem struct {
	UserPhoneId int64  `json:"user_phone_id"`
	PhoneName   string `json:"phone_name"`
	PhoneNum    string `json:"phone_num"`
	PhoneType   int32  `json:"phone_type"`
}

type AccountRobotItem struct {
	RobotDefId      int64  `json:"robot_def_id"`
	RobotName       string `json:"robot_name"`
	RobotStatus     int32  `json:"robot_status"`
	IndustryOneName string `json:"industry_one_name"`
	DeployTime      string `json:"deploy_time"`
	IndustryTwoName string `json:"industry_two_name"`
}

type AccountSeatInfoResponse struct {
	// List          []interface{} `json:"list"`
	AllCallSeat   int32 `json:"all_call_seat"`
	UsingCallSeat int32 `json:"using_call_seat"`
}

type GetOutboundClueListResponse struct {
	Total int32               `json:"total"`
	List  []*OutboundClueData `json:"list"`
}

type OutboundClueData struct {
	Id                 int32  `json:"id"`
	CompanyName        string `json:"company_name"`
	CallInstanceId     int64  `json:"call_instance_id"`
	Mobile             string `json:"mobile"`
	Duration           int32  `json:"duration"`
	ChatRound          int32  `json:"chat_round"`
	FinishStatus       int32  `json:"finish_status"`
	FinishStatusRemark string `json:"finish_status_remark"`
	Intention          string `json:"intention"`
	IntentionRemark    string `json:"intention_remark"`
	StartTime          string `json:"start_time"`
	EndTime            string `json:"end_time"`
	TaskId             int64  `json:"task_id"`
	IsRead             int32  `json:"is_read"`
	AuditStatus        int32  `json:"audit_status"`
	TaskName           string `json:"task_name"`
	TenantCode         string `json:"tenant_code"`
	RccProjectName     string `json:"rcc_project_name"`
}

type ExcelExportResponse struct {
	ExportTaskId int32  `json:"export_task_id"`
	FileUrl      string `json:"file_url"`
}

type CreateTaskResponse struct {
	TaskId int64 `json:"task_id"`
}

type UpdateTaskResponse struct {
	IsSucceed bool `json:"is_succeed"`
}
type UpdateIntentionResponse struct {
	IsSucceed bool `json:"is_succeed"`
}

type DeleteTaskResponse struct {
	IsSucceed bool `json:"is_succeed"`
}

type ExecuteTaskResponse struct {
	IsSucceed bool `json:"is_succeed"`
}

type GetOutboundClueDetailResponse struct {
	List []*OutboundClueDetail `json:"list"`
}

type OutboundClueDetail struct {
	CompanyName     string                `json:"company_name"`
	Mobile          string                `json:"mobile"`
	Intention       string                `json:"intention"`
	IntentionRemark string                `json:"intention_remark"`
	AuditUrl        string                `json:"audit_url"`
	Duration        int32                 `json:"duration"`
	ChatRound       int32                 `json:"chat_round"`
	HangUp          int32                 `json:"hang_up"`
	StartTime       string                `json:"start_time"`
	PhoneLogs       []*ClueDetailPhoneLog `json:"phone_logs"`
	AuditRemark     string                `json:"audit_remark"`
}

type ClueDetailPhoneLog struct {
	Speaker   string `json:"speaker"`
	StartTime int32  `json:"start_time"`
	EndTime   int32  `json:"end_time"`
	Content   string `json:"content"`
}

type ItemOfTaskList struct {
	TaskId     int64  `json:"task_id"`
	TaskName   string `json:"task_name"`
	TaskStatus int32  `json:"task_status"`
	SeatNum    int32  `json:"seat_num"`
	CreatedBy  string `json:"created_by"`
	CreatedOn  string `json:"created_on"`
	TotalCount int32  `json:"total_count"`
	DoneCount  int32  `json:"done_count"`
}

type GetTaskListResponse struct {
	Total int32             `json:"total"`
	List  []*ItemOfTaskList `json:"list"`
}

type GetTaskDetailResponse struct {
	TaskId             int64   `json:"task_id"`
	TaskName           string  `json:"task_name"`
	TaskType           int32   `json:"task_type"`
	TaskStatus         int32   `json:"task_status"`
	RobotDefName       string  `json:"robot_def_name"`
	SeatNum            int32   `json:"seat_num"`
	CallPhones         string  `json:"call_phones"`
	TotalCount         int32   `json:"total_count"`
	CalledCount        int32   `json:"called_count"`
	UnavailableCount   int32   `json:"unavailable_count"`
	IntentionCount     int32   `json:"intention_count"`
	CallCompletionRate string  `json:"call_completion_rate"`
	IntentionRate      string  `json:"intention_rate"`
	StartDate          string  `json:"start_date"`
	RobotDefId         int64   `json:"robot_def_id"`
	UserPhoneIds       []int64 `json:"user_phone_ids"`
	ConcurrencyQuota   int32   `json:"concurrency_quota"`
	RepeatCallCnt      int32   `json:"repeat_call_cnt"`
	PushUserIds        []int64 `json:"push_user_ids"`
}

type GetUnStartCallListResponse struct {
	List  []*ItemOfUnStartCallList `json:"list"`
	Total int32                    `json:"total"`
}

type ItemOfUnStartCallList struct {
	CallInstanceId    int64  `json:"call_instance_id"`
	CustomerName      string `json:"customer_name"`
	CustomerTelephone string `json:"customer_telephone"`
}

type GetCrowdByWinbidResponse struct {
	Total        int32                   `json:"total"`
	ContactTotal int32                   `json:"contact_total"`
	List         []*GetCrowdByWinbidItem `json:"list"`
}

type GetCrowdByWinbidItem struct {
	SupplierName   string         `json:"supplier_name"`
	OrganizingCode string         `json:"organizing_code"`
	CoopPrjName    string         `json:"coop_prj_name"`
	CoopProvince   string         `json:"coop_province"`
	CoopCity       string         `json:"coop_city"`
	ContactList    []*ContactInfo `json:"contact_list"`
}
type ContactInfo struct {
	Name        string `json:"name"`
	PhoneNumber string `json:"phone_number"`
}
type CrowdDetailByWinbidResponse struct {
	Total        int32                   `json:"total"`
	ContactTotal int32                   `json:"contact_total"`
	List         []*GetCrowdByWinbidItem `json:"list"`
}
type GetCrowdByDeveloperResponse struct {
	Total        int32                      `json:"total"`
	ContactTotal int32                      `json:"contact_total"`
	List         []*GetCrowdByDeveloperItem `json:"list"`
}

type GetCrowdByDeveloperItem struct {
	DeveloperName           string         `json:"developer_name"`
	DeveloperOrganizingCode string         `json:"developer_organizing_code"`
	TakeLandCnt_1Year       int32          `json:"take_land_cnt_1year"`
	SellProjectCnt_1Year    int32          `json:"sell_project_cnt_1year"`
	CommencePermitCnt_1Year int32          `json:"commence_permit_cnt_1year"`
	PurchaseDemandCnt_1Year int32          `json:"purchase_demand_cnt_1year"`
	ContactList             []*ContactInfo `json:"contact_list"`
}
type CrowdDetailDeveloperResponse struct {
	Total        int32                      `json:"total"`
	ContactTotal int32                      `json:"contact_total"`
	List         []*GetCrowdByDeveloperItem `json:"list"`
}

type GetCrowdByRpaResponse struct {
	Total int32                `json:"total"`
	List  []*GetCrowdByRpaItem `json:"list"`
}

type GetCrowdByRpaItem struct {
	CompanyAddress string `json:"company_address"`
	CompanyName    string `json:"company_name"`
	Id             int32  `json:"id"`
	PersonName     string `json:"person_name"`
	PersonPhone    string `json:"person_phone"`
	PersonPosition string `json:"person_position"`
	PersonRole     string `json:"person_role"`
	PersonSexy     string `json:"person_sexy"`
	ProjectId      string `json:"project_id"`
	RccProjectName string `json:"rcc_project_name"`
	SourceType     string `json:"source_type"`
	SrcId          string `json:"src_id"`
}
